Mobile computing devices and handheld media devices often have limited processing power and a small display screen. These devices are at a disadvantage when handling digital images meant for powerful desktop computers with expansive display screens. A multi-megapixel image from a digital camera can be cumbersome for small handheld devices and so these devices can seem very slow at loading, resizing, panning, and zooming such digital images.
The quest to give handheld devices enough power to handle quality images with facility has resulted in conventional image rendering engines that are optimized with respect to the low-level code that executes the conventional parts of their operation. That is, the code itself that performs their conventional operations is written to be as fast as possible.
Syntax standards make image processing possible by setting a uniform data structure for the digital data. The JPEG standards, for example, specify a syntax for image data under which handling of digital images can be controlled across different devices, while the syntax itself tries to remain flexible and customizable. Thus, the JPEG syntax for the application data marker (“APPn marker”) within image data specifies the marker segment structure for an application data segment (See JPEG standard, ref: T.81). Some JPEG codecs may change behavior when they encounter an APPn marker that appears to be recognizable. Data fields associated with the APPn marker and associated parameters can also be used to store information about an image.
FIG. 1 shows an application data segment 100. The APPn marker 102 marks the beginning of an application data segment. Application data can include metadata about an application, or even unrelated data stored in association with an image. For APP3 the marker itself is “0xFFE3.” The segment length parameter (Lp) 104 specifies the length of the application data segment. The application data byte parameter 106 has an interpretation left to the application, i.e., it is an auxiliary field. The size and allowed values of each of the parameters, Lp and APi are given in FIG. 2.
Devices that capture, send, and receive digital images try to adhere to image syntax standards, such as a JPEG syntax. What is needed, then, is a way to speed up image processing on small mobile devices that have limited processing power—not by allowing the images to become syntax noncompliant, but rather by exploiting the flexibility of the syntax in use.